#ifndef slak_mesh_ResourceParserDriver_h
#define slak_mesh_ResourceParserDriver_h

#include <string>
#include "ResourceParser.hh"
#include "SG3.h"

namespace yy {
	struct parser_driver {
		ClassTable class_table;

		parser_driver();
		virtual ~parser_driver();

		bool trace_scanning;
		void scan_begin();
		void scan_end();

		std::string file;
		bool trace_parsing;
		void parse(const std::string& f);

		void error(const yy::location& l, const std::string& m);
		void error(const std::string& m);
	};
}

# define YY_DECL					     \
       yy::parser::token_type                         \
       yylex (yy::parser::semantic_type* yylval,      \
              yy::parser::location_type* yylloc,      \
              yy::parser_driver& driver)
YY_DECL;

#endif
